8
תגובות
הגרלת אחוזים.
פתח
משתמש_226842
,
יש דרך יותר טובה להגריל אחוזים?
כאילו שיהיה סיכוי של 10 אחוז שיודפס 10%, סיכוי של 20 אחוז שיודפס 20% וכו'..
כאילו שיהיה סיכוי של 10 אחוז שיודפס 10%, סיכוי של 20 אחוז שיודפס 20% וכו'..
<?php
$rand = rand(0,9);
switch($rand){
/* -- 10% -- */
case 0:
echo "10%";
break;
/* -- 20% -- */
case 1:
case 2:
echo "20%";
break;
/* -- 30% -- */
case 3:
case 4:
case 5:
echo "30%";
break;
/* -- 40% -- */
case 6:
case 7:
case 8:
case 9:
echo "40%";
break;
}
$rand = rand(0,9);
switch($rand){
/* -- 10% -- */
case 0:
echo "10%";
break;
/* -- 20% -- */
case 1:
case 2:
echo "20%";
break;
/* -- 30% -- */
case 3:
case 4:
case 5:
echo "30%";
break;
/* -- 40% -- */
case 6:
case 7:
case 8:
case 9:
echo "40%";
break;
}
8 תשובות
ענה
משתמש_225728
ב
05 ליוני 2012
#
$rand = rand(0,9);
if ($rand==0) {
echo "10%";
}
else if ($rand>0 && $rand<3) {
echo "20%";
}
else if ($rand>2 && $rand<6) {
echo "30%";
}
else {
echo "40%";
}
if ($rand==0) {
echo "10%";
}
else if ($rand>0 && $rand<3) {
echo "20%";
}
else if ($rand>2 && $rand<6) {
echo "30%";
}
else {
echo "40%";
}
עוזר לך?
ענה
משתמש_226842
ב
05 ליוני 2012
#
תודה רבה, בסוף אוסיף למערך עוד כמה אלמנטים וזהו.
כאילו שיהיה סיכוי של 10 אחוז שיודפס 10%, סיכוי של 20 אחוז שיודפס 20% וכו'..
אתה יודע מה לא מסתד במשפט הזה?
שיש 100% סיכוי שתודפס המחרוזת "100"
לאומת זאת יהיה די הגיוני שהסיכוי שלמסך יודפס המספר 60 שווה ערך לסיכוי שלמסך יודפס המספר 10.
ענה
משתמש_231128
ב
06 ליוני 2012
#
@intval
לא כ"כ הבנת, זה עדיין מוגבל:
10% שיהיה כתוב 10%
20% שיהיה כתוב 20%
30% שיהיה כתוב 30%
40% שיהיה כתוב 40%
זה יוצא:
10%+20%+30%+40%=100%
אין יותר מ100%..
הבנת?
*בכל מקרה מישה עזר לי כבר ועזבתי ת'דרך הזאת, אני עובד עם מערכים כרגע.
תודה בכל מקרה.
ענה
משתמש_232428
ב
07 ליוני 2012
#
<?php
$rand = rand(0,9);
switch($rand)
{
/* -- 10% -- */
case 0:
{
echo "10%";
break;
}
/* -- 20% -- */
case 1, 2:
{
echo "20%";
break;
}
/* -- 30% -- */
case 3..5:
{
echo "30%";
break;
}
/* -- 40% -- */
case 6..9:
{
echo "40%";
break;
}
}
$rand = rand(0,9);
switch($rand)
{
/* -- 10% -- */
case 0:
{
echo "10%";
break;
}
/* -- 20% -- */
case 1, 2:
{
echo "20%";
break;
}
/* -- 30% -- */
case 3..5:
{
echo "30%";
break;
}
/* -- 40% -- */
case 6..9:
{
echo "40%";
break;
}
}
ענה
משתמש_232205
ב
07 ליוני 2012
#
יש לי גם שאלה
יש דרך להגדיר אחוזים מסויימים שיצא מקרה מסויים
לדוגמה אני רוצה שיהיה סיכוי של 50 חזור שיצא 40 סיכוי של 25 אחוז שיצא 10 לדוגמה?
ענה
משתמש_232612
ב
07 ליוני 2012
#
משתמש_232205
פשוט תגדיל את התווך של rand. מ 1 ל 100 ותשנה ת'תנאים.
$rand = rand(1,100);
if($rand > 95){
echo "5%";
}
elseif($rand > 85){
echo "10%";
}
elseif($rand > 70){
echo "15%";
}
elseif($rand > 50){
echo "20%";
}
elseif($rand > 25){
echo "25%";
}
elseif($rand > 18){
echo "7%";
}
else/*if($rand > 0)*/{
echo "18%";
}
if($rand > 95){
echo "5%";
}
elseif($rand > 85){
echo "10%";
}
elseif($rand > 70){
echo "15%";
}
elseif($rand > 50){
echo "20%";
}
elseif($rand > 25){
echo "25%";
}
elseif($rand > 18){
echo "7%";
}
else/*if($rand > 0)*/{
echo "18%";
}